aspect-oriented software development
Aspect-oriented software development - Wikipedia